import { HttpStatus } from '@nestjs/common';

export const HTTP_CODE = {
    // =========================================
    // =========================================
    // ================== 2** ==================
    // =========================================
    // =========================================

    /**
     * 200 - 请求成功
     */
    SUCCESS: HttpStatus.OK, // 请求成功

    // =========================================
    // =========================================
    // ================== 3** ==================
    // =========================================
    // =========================================

    /**
     * 304 - 返回值内容未发生变更
     */
    RDATA_NOT_CHANGE: HttpStatus.NOT_MODIFIED, // TODO: 错误处理

    // =========================================
    // =========================================
    // ================== 4** ==================
    // =========================================
    // =========================================

    /**
     * 400 - 参数不正确
     */
    DTO_NOT_MATCH: HttpStatus.BAD_REQUEST,
    /**
     * 401 - jwt 认证失败
     */
    JWT_ERROR: HttpStatus.UNAUTHORIZED,
    /**
     * 403 - jwt认证通过,但是权限不足
     */
    AUTH_NOT_CURRECT: HttpStatus.FORBIDDEN, // TODO: 错误处理
    /**
     * 404 - 路由不存在
     */
    ROUTE_NOT_FOUND: HttpStatus.NOT_FOUND,
    /**
     * 405 - 路由访问方式不正确
     */
    ROUTE_METHOD_WRONG: HttpStatus.METHOD_NOT_ALLOWED,
    /**
     * 413 - 请求体过大
     */
    TOO_LARGE_PAYLOAD: HttpStatus.PAYLOAD_TOO_LARGE, // TODO: 错误处理
    /**
     * 418 - 玩笑: 茶壶冲咖啡 (https://zh.wikipedia.org/wiki/超文本咖啡壶控制协议)
     */
    JUST_A_JOKE: HttpStatus.I_AM_A_TEAPOT, // TODO: 错误处理
    /**
     * 429 - 请求过于频繁
     */
    TOO_MANY_TIMES: HttpStatus.TOO_MANY_REQUESTS, // TODO: 错误处理

    // =========================================
    // =========================================
    // ================== 5** ==================
    // =========================================
    // =========================================

    /**
     * 500 - 服务错误, 服务内部报错
     */
    SERVER_ERROR: HttpStatus.INTERNAL_SERVER_ERROR, // TODO: 错误处理
    /**
     * 503 - 服务未运行,正在重启等状态,稍后可恢复
     */
    SERVER_NOT_WORKING: HttpStatus.SERVICE_UNAVAILABLE, // TODO: 错误处理
};
